Facebook Ad Library Scraper
Pricing
from $0.40 / 1,000 results
Facebook Ad Library Scraper
Scrape the Facebook Ad Library at scale. Extract ad text, images, videos, landing pages, spend ranges, impressions, advertiser info and more. Filter by keyword, advertiser, country, date range, media type. No login or Facebook account needed. Export to JSON, CSV, Excel.
Pricing
from $0.40 / 1,000 results
Rating
0.0
(0)
Developer
Scrape Smith
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
2
Monthly active users
3 days ago
Last modified
Share
Scrape ads from the Facebook Ad Library at scale. Extract ad creatives, copy, landing pages, spend data, impressions, and advertiser info — no Facebook account or login required.
What does Facebook Ad Library Scraper do?
This scraper extracts publicly available ad data from Meta's Ad Library. Use it for competitor analysis, market research, political ad monitoring, or building ad creative databases.
For each ad, you get:
- Ad creative — text, title, images, videos, carousel cards
- Advertiser — page name, page ID, profile picture, categories, like count
- Performance — spend range, impressions, reach (political/issue ads)
- Metadata — start/end date, active status, platforms (Facebook, Instagram), display format
- Targeting — targeted countries, ad category, content language
- Links — destination URL, CTA button, caption, byline
- Transparency — advertiser contact info, funding entity (political ads)
How much does it cost to run?
The scraper uses minimal compute — 256 MB RAM is all it needs. A typical run scraping 1,000 ads costs about $0.03 on Apify platform usage. Add residential proxy cost if you enable it (~$0.03 more for 1,000 ads).
| Ads | Compute | Proxy | Total |
|---|---|---|---|
| 100 | ~$0.005 | ~$0.003 | ~$0.01 |
| 1,000 | ~$0.03 | ~$0.03 | ~$0.06 |
| 5,000 | ~$0.15 | ~$0.15 | ~$0.30 |
Input
| Field | Description | Default |
|---|---|---|
| Search queries | Keywords to search for (e.g. "nike", "insurance") | Required* |
| Advertiser page IDs | Facebook page IDs for direct lookup | Required* |
| Country | ISO country code (US, GB, DE, etc.) | US |
| Ad category | All, political, housing, employment, or credit ads | All |
| Status | All, active only, or inactive only | All |
| Media type | All, images only, or videos only | All |
| Languages | Filter by language (en, es, fr, etc.) | All |
| Started after | Only ads started on or after this date (YYYY-MM-DD) | — |
| Started before | Only ads started on or before this date (YYYY-MM-DD) | — |
| Max results per query | How many ads to collect per query | 100 |
| Proxy | Residential proxy for large runs | Off |
* Provide at least one search query or advertiser page ID.
Input example
{"queries": ["nike", "adidas"],"country": "US","activeStatus": "active","maxAdsPerQuery": 200,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Output
Each ad is stored as a JSON object with the following fields:
{"ad_id": "1368903715293808","ad_archive_id": "1368903715293808","ad_url": "https://www.facebook.com/ads/library/?id=1368903715293808","advertiser": {"page_id": "972343405957883","page_name": "National Carry Association","page_url": "https://www.facebook.com/972343405957883/","page_profile_picture_url": "https://scontent...","page_categories": ["Business"],"page_like_count": 904},"ad_text": "Check your eligibility under the new 2026 law...","ad_title": "2026 Carry Changes","ad_creative_urls": {"images": ["https://scontent..."],"videos": ["https://video..."]},"creative_cards": null,"cta": { "text": "Learn more", "type": "LEARN_MORE" },"link_url": "http://rushedpermit.com/...","caption": "rushedpermit.com","byline": "4936 Ventures LLC","link_description": "Claim Your Certificate Online in Minutes","display_format": "VIDEO","start_date": "2026-05-20T07:00:00.000Z","end_date": "2026-06-12T07:00:00.000Z","is_active": true,"platforms": ["facebook", "instagram"],"currency": "USD","spend_range": "$90K-$100K","impressions_range": ">1M","reach_range": ">1M","categories": ["POLITICAL"],"fev_info": {"authorized_entity": "This information was provided to Meta.","phone": "+16193500902","email": "hello@4936ventures.com","website": "https://4936ventures.com/","address": "Dover, Delaware"},"source_query": "biden","scrapedAt": "2026-06-13T05:17:43.000Z"}
Results can be exported to JSON, CSV, Excel, or accessed via the Apify dataset API.
Tips for best results
- Use proxy for large runs. Without proxy, Facebook may rate-limit after 100-200 ads. Residential proxy eliminates this.
- Page IDs are faster than keywords. If you know the advertiser's Facebook page ID, use
advertiserPageIds— it's more reliable and skips the search step. - Political ads have richer data. Spend ranges, impressions, reach estimates, and advertiser contact info are only available on political/issue ads.
- Set a reasonable max. Start with 100-200 ads per query to verify results, then scale up.
How it works
The scraper accesses Facebook's public Ad Library the same way a browser does — no API key or login needed:
- Visits the Ad Library search page with your query
- Extracts initial results from the server-rendered HTML
- Paginates using Facebook's internal GraphQL API
- Normalizes each ad into a clean, consistent schema
The scraper automatically discovers Facebook's internal API identifiers from the page's JavaScript bundles, so it stays working even when Facebook rotates them.